package com.xin.di.uav.applet.po;

import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 费用明细
 * </p>
 *
 * @author LTQ
 * @since 2023-11-15
 */
@TableName("expense_details")
@ApiModel(value = "ExpenseDetails对象", description = "费用明细")
public class ExpenseDetails implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("主键id")
    private String id;

    @ApiModelProperty("基础配送费")
    private BigDecimal basePrice;

    @ApiModelProperty("超重价格")
    private BigDecimal overweightCharges;

    @ApiModelProperty("超距价格")
    private BigDecimal overDistanceCharges;

    @ApiModelProperty("订单距离")
    private BigDecimal orderDistance;

    @ApiModelProperty("创建时间")
    private Date createTime;

    @ApiModelProperty("更新时间")
    private Date updateTime;

    @ApiModelProperty("优惠券类型 0-满减券,1-满折券")
    private Byte couponType;

    @ApiModelProperty("折扣数")
    private BigDecimal discount;


    @ApiModelProperty("优惠券减免价格")
    private BigDecimal reductionPrice;


    @ApiModelProperty("当前价格/最终价格")
    private BigDecimal price;

    private BigDecimal pricePayable;

    @ApiModelProperty("产品类型")
    private Byte productType;

    public Byte getProductType() {
        return productType;
    }

    public void setProductType(Byte productType) {
        this.productType = productType;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public Byte getCouponType() {
        return couponType;
    }

    public void setCouponType(Byte couponType) {
        this.couponType = couponType;
    }

    public BigDecimal getDiscount() {
        return discount;
    }

    public void setDiscount(BigDecimal discount) {
        this.discount = discount;
    }

    public BigDecimal getReductionPrice() {
        return reductionPrice;
    }

    public void setReductionPrice(BigDecimal reductionPrice) {
        this.reductionPrice = reductionPrice;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public BigDecimal getBasePrice() {
        return basePrice;
    }

    public void setBasePrice(BigDecimal basePrice) {
        this.basePrice = basePrice;
    }

    public BigDecimal getOverweightCharges() {
        return overweightCharges;
    }

    public void setOverweightCharges(BigDecimal overweightCharges) {
        this.overweightCharges = overweightCharges;
    }

    public BigDecimal getOverDistanceCharges() {
        return overDistanceCharges;
    }

    public void setOverDistanceCharges(BigDecimal overDistanceCharges) {
        this.overDistanceCharges = overDistanceCharges;
    }

    public BigDecimal getOrderDistance() {
        return orderDistance;
    }

    public void setOrderDistance(BigDecimal orderDistance) {
        this.orderDistance = orderDistance;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public BigDecimal getPricePayable() {
        return pricePayable;
    }

    public void setPricePayable(BigDecimal pricePayable) {
        this.pricePayable = pricePayable;
    }

    @Override
    public String toString() {
        return "ExpenseDetails{" +
                "id = " + id +
                ", basePrice = " + basePrice +
                ", overweightCharges = " + overweightCharges +
                ", overDistanceCharges = " + overDistanceCharges +
                ", orderDistance = " + orderDistance +
                ", createTime = " + createTime +
                ", updateTime = " + updateTime +
                "}";
    }
}
